package consolaVisualRepositorio;

import java.util.List;
import javax.swing.table.AbstractTableModel;

import documentosRepositorio.Documento;

import MyServer.IRepositorioPackage.resultadoBusqueda;

public class ModeloTablaDocumentos extends AbstractTableModel {

	private List data;
	public static final int COLUMNA_NOMBRE_FISICO = 4;
	
	public ModeloTablaDocumentos(List data)
	{
		this.data = data;
	}
	
	public int getColumnCount()
	{
		return 4;
	}

	public int getRowCount()
	{
		return data.size();
	}

	public Object getValueAt(int fila, int columna)
	{
		if (fila >= 0 && fila < getRowCount() && columna >= 0 && columna <= getColumnCount())
		{
			Documento elemento = (Documento)data.get(fila);
			
			Object res = "";
			
			switch (columna)
			{
				case 0:
					res = elemento.getNombre();
				break;
				case 1:
					res= elemento.getRuta();
				break;
				case 2:
					res = elemento.getComentarios();
				break;
				case 3:
					String claves = "";
					for(int n = 0; n< elemento.getPalabrasClaves().length;n++)
					{
							claves = claves + elemento.getPalabrasClaves()[n]+" ";
							res = claves;
					}
				break;
				case COLUMNA_NOMBRE_FISICO:
					String barraSeparacion;
					if (elemento.getRuta().contains("/"))
						barraSeparacion = "/";
					else
						barraSeparacion = "\\";
					
					res = elemento.getRuta()+ barraSeparacion +elemento.getnombreFichero();
				break;
			}
			return res;
		}
		else
			return null;
	}

	public String getColumnName(int nColum)
	{
		String res = "";
		switch (nColum)
		{
			case 0:
				res = "Nombre";
			break;
			case 1:
				res = "Ruta";
			break;
			case 2:
				res = "Comentarios";
			break;
			case 3:
				res = "Palabras claves";
			break;
			default:
				res =  super.getColumnName(nColum);
			break;
		}
		
		return res;	
	}
	
}
